package edu.ec.java02.group02.service;

import edu.ec.java02.group02.domain.*;

import java.util.List;

public interface UserService {
    /**
     * 用户注册
     * @param userInfo
     * @return
     */
    boolean register(UserInfo userInfo);

    /**
     * 用户登录
     * @param userInfo
     * @return
     */
    UserInfo login(UserInfo userInfo);



    /**
     * 加入购物车
     * @param cart
     * @return
     */
    boolean saveCartInfo(Cart cart);

    /**
     * 购买商品（从购物车中挑选商品）
     * @param cart
     * @return
     */
    boolean buyProductFromCart(Cart cart);

    /**
     * 修改个人信息
     * @param userInfo
     * @return
     */
    boolean modifyUserInfo(UserInfo userInfo);

    /**
     * 下订单
     * @param order
     * @param orderDetail
     * @return
     */
    boolean saveOrderInfo(Order order, OrderDetail orderDetail);

    /**
     * 取消订单
     * @param orderNo
     * @return
     */
    boolean removeOrderInfo(int orderNo);

    /**
     * 查看订单信息
     * @param
     * @return
     */
    Order findOrderInfo(String str);
    /**
     * 查看订单详情
     * @param
     * @return
     */
    List<OrderDetail> findOrderDetailInfo(int id);
    /**
     * 更新订单消息
     */
    boolean updateOrder(Order order);
    /**
     * 搜素商品
     * @return
     */
    List <ProductInfo> listProductInfo(String str);

    /**
     * 根据id返回一个商品对象
     * @param orderNo
     * @return
     */
    Order findOrderInfo(int orderNo);




    public ProductInfo selectProductInfo(Integer id) ;

    /**
     * 根据关键字返回一个同类型的商品集合
     * @param str
     * @return
     */
    public List<ProductInfo> selectProductType(String str) ;
    /**
     * 根据id返回一个订单表
     */
    public Order selectOrderKey(int id);

    public void changeUserInfo(UserInfo userInfo ,String userName,String userPhone);
}
